Who needs a title anyway?

Published on: Fri Jun 10 2016

Tonight I decided to re-read some fragments of my papers collection. Not knowing where to start, I sorted the papers by date and began to browse titles, oldest to newest. The oldest paper was by Elmore, and since it's an important topic I skipped reading it. Maybe that was a mistake, but Elmore Delay is something I'm reasonably familiar with implementing. The next paper was one I've not really read in to great of detail, something about a saw tooth comparator. If it is going to remain in my papers collection it is something I should read again, but tonight was not the night for it. Next came Landauer's work on irreversibility and heat generation. Now this is not only one of the oldest papers in my collection, it is also one collected by undergraduate me, and I must say it is one of the papers terribly influential on my thoughts. I've not thought back on it for some time, but seeing it again forced many memories back. Old ideas and half finished questions, it was excellent to see my old favorite; still it was not the time for reading already treasured works in the collection. Gallager's thesis, authored in  1961 was in my list, followed by four works by Dijkstra. And the works by Dijkstra are the ones which caught my eye. I simply picked one of the four. I was looking for a relatively quick read, one without a narrow focus, so I settled on 'On A Methodology of Design'.  The paper is nine pages typed on a typewriter. It's a very retro feel, and since the author is using a type writer there are corrections visible within the text. Really, some things I do clearly recall from this Methodology paper is: There are of course many other delicious tidbits in the paper, it's nearly odd and peculiar that these three are the ones most notable for my mind. I suppose it is because Dijkstra is writing from the point of view of a software programmer. He lives in a set of constraints and in a layer of abstraction that is somewhat disjoint from my own perspective. He writes about how at one time mathematicians were unable to consider the 'correctness' of problems designed to be implemented on machines, because the machines did not yet physically exist. He writes an example of a hierarchy using countries, states, counties, towns... and so on down a spatial hierarchy. Then he gives the same example for computing machines. The design level my interests predominantly lie is somewhere around that extremely frustrating ALU which takes orders of magnitude longer when confronted with a 7.  Perhaps a better suited title for this paper would be 'On a Methodology of Software Design'  but it would have lessened the odds of me selecting it to re-read, and I would have forgotten that this paper is where I found the wonderful 7 example. It really is a good point about how hardware should not break its layer of abstraction.